package com.ruoyi.ring.mapper;

import com.ruoyi.ring.domain.RingSportDetail;
import com.ruoyi.ring.domain.dto.GeneralSecondDTO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 运动明细Mapper接口
 * 
 * @author liuwp
 * @date 2025-08-07
 */
public interface RingSportDetailMapper 
{
    /**
     * 查询运动明细
     * 
     * @param id 运动明细主键
     * @return 运动明细
     */
    public RingSportDetail selectRingSportDetailById(Long id);

    /**
     * 查询运动明细列表
     * 
     * @param ringSportDetail 运动明细
     * @return 运动明细集合
     */
    public List<RingSportDetail> selectRingSportDetailList(RingSportDetail ringSportDetail);

    /**
     * 可以业务主键查询一条运动明细
     *
     * @param ringSportDetail 运动明细
     * @return 运动明细集合
     */
    public RingSportDetail selectOneRingSportDetail(RingSportDetail ringSportDetail);

    /**
     * 新增运动明细
     * 
     * @param ringSportDetail 运动明细
     * @return 结果
     */
    public int insertRingSportDetail(RingSportDetail ringSportDetail);

    /**
     * 修改运动明细
     * 
     * @param ringSportDetail 运动明细
     * @return 结果
     */
    public int updateRingSportDetail(RingSportDetail ringSportDetail);

    /**
     * 条件修改运动明细
     *
     * @param ringSportDetail 运动明细
     * @param ringSportDetail 运动明细条件
     * @return 结果
     */
    public int updateRingSportDetailCondition(@Param("ringSportDetail") RingSportDetail ringSportDetail, @Param("ringSportDetailCondition") RingSportDetail ringSportDetailCondition);

    /**
     * 删除运动明细
     * 
     * @param id 运动明细主键
     * @return 结果
     */
    public int deleteRingSportDetailById(Long id);

    /**
     * 条件删除运动明细
     *
     * @param ringSportDetail 运动明细
     * @return 结果
     */
    public int deleteRingSportDetailByCondition(RingSportDetail ringSportDetail);

    /**
     * 批量删除运动明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRingSportDetailByIds(Long[] ids);

    List<RingSportDetail> queryRingSportDetailList(@Param("secondDTO") GeneralSecondDTO secondDTO);

    List<Date> queryDateList(@Param("secondDTO") GeneralSecondDTO secondDTO);
}
